/**
 * 图片处理工具类
 */

// 支持的图片类型
export const SUPPORTED_IMAGE_TYPES = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp']

/**
 * 从剪贴板获取图片文件
 */
export function getImageFromClipboard(event: ClipboardEvent): File[] {
  const items = event.clipboardData?.items
  if (!items) return []
  
  const imageFiles: File[] = []
  
  for (let i = 0; i < items.length; i++) {
    const item = items[i]
    if (item.type.startsWith('image/')) {
      const file = item.getAsFile()
      if (file) {
        imageFiles.push(file)
      }
    }
  }
  
  return imageFiles
}

/**
 * 在textarea指定位置插入文本
 */
export function insertTextAtCursor(textarea: HTMLTextAreaElement, text: string): void {
  const startPos = textarea.selectionStart
  const endPos = textarea.selectionEnd
  const scrollTop = textarea.scrollTop
  
  // 获取当前文本内容
  const currentValue = textarea.value
  
  // 在光标位置插入新文本
  const newValue = currentValue.substring(0, startPos) + text + currentValue.substring(endPos)
  
  // 更新textarea内容
  textarea.value = newValue
  
  // 恢复光标位置
  textarea.focus()
  textarea.setSelectionRange(startPos + text.length, startPos + text.length)
  
  // 恢复滚动位置
  textarea.scrollTop = scrollTop
  
  // 触发input事件，确保Vue响应式更新
  textarea.dispatchEvent(new Event('input', { bubbles: true }))
}

